<?php

class Ausente extends DataMapper {

    var $table = 'ausentes';
	
	var $has_one = array("usuario");

    function __construct($id = NULL)
    {
        parent::__construct($id);
    }
	
	public function usuarioAusente($id)
    {
		
        $result = $this->db->query("
		SELECT CURRENT_DATE AS hoje, dt_inicio, dt_fim, DATEDIFF(DATE(dt_fim), 
		DATE(dt_inicio)) AS qtd_dias, 
		DATEDIFF(DATE(dt_inicio), CURRENT_DATE) AS falta, 
		CURRENT_DATE BETWEEN DATE(dt_inicio) AND DATE(dt_fim) AS entre
		FROM ausentes
		WHERE usuario_id='".$id."' 
		AND CURRENT_DATE < DATE(dt_fim)
		LIMIT 1	
		");
        $this->_process_query($result);

		if($this->exists()){

			foreach($this as $dados){
				$hoje = new DateTime($dados->hoje);
				$dt_inicio = new DateTime($dados->dt_inicio);
				$dt_fim = new DateTime($dados->dt_fim);
				
				if(($hoje >= $dt_inicio) && ($hoje <= $dt_fim)){
					return true;
				}elseif($hoje < $dt_inicio) {
					if($dados->falta < 15 && $dados->qtd_dias >= 30){
						return true;
					}elseif($dados->falta < 10 && ($dados->qtd_dias >= 20 && $dados->qtd_dias <= 29)){
						return true;
					}elseif($dados->falta < 7 && ($dados->qtd_dias >= 15 && $dados->qtd_dias <= 19)){
						return true;
					}elseif($dados->falta < 5 && ($dados->qtd_dias >= 10 && $dados->qtd_dias <= 14)){
						return true;
					}else{
						return false;
					}
				}else{
					return false;
				}
			}
		}else{
			return false;
		}
		
    }
	
	public function existeFerias($id, $inicio, $fim){
		$result = $this->db->query("
		SELECT *
		FROM ausentes
		WHERE usuario_id='$id' AND (
		'$inicio' BETWEEN dt_inicio AND dt_fim OR '$fim' BETWEEN dt_inicio AND dt_fim
		)
		LIMIT 1
		");
		$ausente = new Ausente();
		$ausente->_process_query($result);
		
		return $ausente;
	}
	public function consultaFerias(){
		$result = $this->db->query("
			SELECT nome_completo, date_format(dt_inicio,'%d/%m/%Y' ) as dt_inicio, date_format(dt_fim,'%d/%m/%Y' ) as dt_fim, ausentes.observacao
			FROM ausentes
			left join usuarios on usuarios.id = ausentes .usuario_id
			WHERE CURRENT_DATE < DATE(dt_fim)
		");
		$ausente = new Ausente();
		$ausente->_process_query($result);
		
		return $ausente;
	}
	

}

/* End of file ausente.php */
/* Location: ./application/models/ausente.php */
